<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>作用域链</title>
</head>
<body>
    <!-- 
        1. 理解
            多个上下级关系的作用域形成的链，它的方向是从下向上的（从内到外）
            查找变量时就是沿着作用域链来查找的
        2. 查找一个变量的查找规则
            1. 在当前作用域下的执行上下文中查找对应的属性，如果有直接返回，否则进入2
            2. 在上一级作用域的执行上下文中查找对应的属性，如果有直接返回，否则进入3
            3. 再次执行2的相同操作，知道全局作用域，如果还找不到就抛出找不到的异常
     -->
     <script>
         var a = 1
         function Fn() {
             var b = 2
             function Fn2() {
                 var c = 3
                 console.log(c);
                 console.log(b);
                 console.log(a);
                 console.log(d);
             }
             Fn2()
         }
         Fn()
     </script>
</body>
</html>